package br.com.beethoven.model.service;

import java.util.ArrayList;
import java.util.List;

import br.com.beethoven.data.interfaces.IUsuarioDAO;
import br.com.beethoven.data.interfaces.impl.UsuarioHibernateDAO;
import br.com.beethoven.exception.BDException;
import br.com.beethoven.model.entidade.Usuario;
import br.com.beethoven.model.entidade.vo.CD_VO;
import br.com.beethoven.model.entidade.vo.UsuarioVO;

public class ServiceGerenciarUsuario {
	
	private IUsuarioDAO iUsuarioDAO;
	
	public ServiceGerenciarUsuario(){
		this.iUsuarioDAO = new UsuarioHibernateDAO();
	}
	
	public void cadastrar(UsuarioVO usuarioVO) throws BDException {
		Usuario usuario = new Usuario();
		usuario.VO2entity(usuarioVO);
		this.iUsuarioDAO.addEntity(usuario);
	}
	
	public void editar(UsuarioVO usuarioVO) throws BDException{
		Usuario usuario = new Usuario();
		usuario.VO2entity(usuarioVO);
		this.iUsuarioDAO.addEntity(usuario);
	}
	
	public void remover(UsuarioVO usuarioVO) throws BDException{
		Usuario usuario = new Usuario();
		usuario.VO2entity(usuarioVO);
		this.iUsuarioDAO.addEntity(usuario);
	}
	
	public List<UsuarioVO> listar() throws BDException{
		List<UsuarioVO> lista = new ArrayList<UsuarioVO>();
		List<Usuario> listaAux = new ArrayList<Usuario>();
		listaAux = this.iUsuarioDAO.listAll();
		for(Usuario usuario : listaAux){
			lista.add(usuario.entity2VO());
		}
		return lista;
	}

	public boolean validar(CD_VO cd_VO){
		return true;
	}

}
